cmake_minimum_required(VERSION 3.22)

set(CMAKE_PROJECT_NAME DataStructures)

project(${CMAKE_PROJECT_NAME})

# 编程语言支持的设置
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)

enable_language(C ASM CXX)

add_executable(${CMAKE_PROJECT_NAME})

target_include_directories(DataStructures PRIVATE
    1-LinearTables
    2-Stack
    3-Queue
)

target_sources(DataStructures PRIVATE
    1-LinearTables/sequential_table.c
    1-LinearTables/linear_linked_list.c
    1-LinearTables/doubly_linked_list.c
    2-Stack/linked_stack.c
    2-Stack/sequential_stack.c
    3-Queue/cyclical_queue.c
    3-Queue/linked_queue.c
    UserApp/sequential_table_demo.c
    UserApp/linked_list_demo.c
    UserApp/doubly_linked_demo.c
    UserApp/sequential_stack_demo.c
    UserApp/linked_stack_demo.c
    UserApp/cyclical_queue_demo.c
    UserApp/linked_queue_demo.c
    UserApp/main.c
)
